package com.hbx.service;

import com.hbx.dto.BaseRequest;
import com.hbx.dto.resource.RecycleDto;
import com.hbx.model.RecycleBin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hbx.utils.Result;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hbx
 * @since 2022-01-27
 */
public interface RecycleBinService extends IService<RecycleBin> {

    /**
     * 删除文件
     * @param dto
     * @param r
     */
    void addRecycle(RecycleDto dto, Result r);

    /**
     * 获得回收站列表
     * @param r
     */
    void recycleList(BaseRequest request, Result r);

    /**
     * 删除文件永久
     * @param id
     * @param r
     */
    void recycleRemove(Integer id, Result r);

    /**
     * 恢复文件
     * @param id
     * @param r
     */
    void recycleRecovery(Integer id, Result r);

    /**
     * 清空回收站
     * @param r
     */
    void recycleClear(Result r);

    /**
     * 获取回收站详情
     * @param id
     * @param r
     */
    void getRecycleInfo(Integer id, Result r);
}
